home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xpt / Xprogs.c < prev    next >
C/C++ Source or Header  |  1995-05-09  |  2KB  |  74 lines

  1. /**
  2.  *
  3.  * xpt -- An X Periodic Table
  4.  *
  5.  *  Modularized X Windows functions
  6.  *
  7.  * GetColors(name, cmap, def)
  8.  *  Allocates color "name", or uses color "def" if "name" is unavailable
  9.  *  char *name        name of color to be allocated
  10.  *  Colormap cmap    colormap to get "name" from
  11.  *  unsigned long def    default color to use if "name" is unavailable
  12.  *                probably the output from a function like "BlackPixel"
  13.  *
  14.  * XFontStruct *GetFont(fontname)
  15.  *  Load a font for use in X Windows
  16.  *  char *fontname    name of font to load
  17.  *
  18.  * GC CreateGC(window, font, fgcolor, bgcolor)
  19.  *  Create a Graphics Context for a window
  20.  *  Window window;        the window to create the graphics context for
  21.  *  XFontStruct font;        The default font for the window
  22.  *  unsigned long fgcolor, bgcolor;
  23.  *
  24.  *  Joel P. Lord 03/05/93
  25.  *
  26. **/
  27.  
  28. #define Xprogs
  29. #include "Xprogs.h"
  30.  
  31. unsigned long GetColors(name, cmap, def)
  32. char *name;
  33. Colormap cmap;
  34. unsigned long def;
  35. {
  36.   XColor color;
  37.   unsigned long retval;
  38.  
  39.   if (XParseColor(p_disp, cmap, name, &color) == 0 || 
  40.       XAllocColor(p_disp, cmap, &color) == 0)
  41.     retval = def;
  42.   else
  43.     retval = color.pixel;
  44.   return retval;
  45. }
  46.  
  47. XFontStruct *GetFont(fname)
  48. char *fname;
  49. {
  50.   XFontStruct *tempfont;
  51.  
  52.   if ((tempfont = XLoadQueryFont(p_disp,fname)) == NULL)
  53.     {
  54.       fputs("Can't open font",stderr);
  55.       fputs(fname,stderr);
  56.       exit(1);
  57.     }
  58.   return tempfont;
  59. }
  60.  
  61. GC CreateGC(wind, fntstruct, fgpix, bgpix)
  62. Window wind;
  63. XFontStruct *fntstruct;
  64. unsigned long fgpix, bgpix;
  65. {
  66.   XGCValues gcv;
  67.  
  68.   gcv.font = fntstruct->fid;
  69.   gcv.foreground = fgpix;
  70.   gcv.background = bgpix;
  71.  
  72.   return(XCreateGC(p_disp, wind, (GCFont | GCForeground | GCBackground), &gcv));
  73. }
  74.